'''
 来看看多个线程同时操作一个变量怎么把内容给改乱了(在windows下不会出现内容混乱情况，可能python在Windows下自动加上锁了；不过在Linux 下可以测试出内容会被改乱)：
'''

import time,threading

# 假定这是你的银行存款:
balance = 0

def change_it(n):
    # 先存后取，结果应该为0:
    global balance
    balance = balance+n
    balance = balance-n


def run_thread(n):
    for i in range(100000):
        change_it(i)


def main():
    t1 = threading.Thread(target=run_thread,args=(5,))
    t2 = threading.Thread(target=run_thread,args=(8,))

    t1.start()
    t2.start()

    t1.join()
    t2.join()

    print(balance)
    

if __name__ == "__main__":
    main()
